/*******************************************************************************
  * 文件：Sgell.h
  * 作者：djy
  * 版本：v1.0.0
  * 日期：2021-02-25
  * 说明：Shell
*******************************************************************************/
#ifndef _SHELL_H
#define _SHELL_H


#ifdef __cplusplus
extern "C" {
#endif
  
/* 头文件 *********************************************************************/
#include <string.h>
#include "Typedefine.h"
#include "Macro.h"
#include "Debug.h"
  
/* 宏定义 *********************************************************************/
#if CONFIG_SHELL
  
#define SHELL_CMD_SIZE          80
#define SHELL_ARG_NR            10

#define SHELL_REY_CMD_OK         1
#define SHELL_RET_CMD_LENERR	 0
#define SHELL_RET_CMD_ARGERR    -1
#define SHELL_RET_CMD_NOTFUOND  -2

/* 类型定义 *******************************************************************/
typedef int(*syscall_func_t)(int argc, char **argv);

struct shell_syscall
{
    const char      *name;       /* the name of system call */
    const char      *desc;       /* description of system call */
    syscall_func_t   func;       /* the function address of system call */
};

/* 变量声明 *******************************************************************/
/* 函数声明 *******************************************************************/
void Shell_RecvChr(char ch);    // Shell接收字节
void Shell_Init(void);          // Shell初始化

#endif 

#ifdef __cplusplus
}
#endif

#endif // SHELL_H
